package CartResp

import (
	"gdshop-back-end-go/common/entity"
	"gdshop-back-end-go/common/response"
)

type List struct {
	List     []*Details        `json:"list"`
	PageInfo response.PageInfo `json:"page_info"`
}

type CartActivityGroupItem struct {
	ActivityId    int                   `json:"activity_id"`
	ActivityName  string                `json:"activity_name"`
	Remark        string                `json:"remark"`
	Type          string                `json:"type"`
	Sort          int                   `json:"sort"`
	GoodsIds      []int                 `json:"goods_ids"`
	CartIds       []int                 `json:"cart_ids"`
	DiscountPrice int64                 `json:"discount_price"` // 分组总优惠金额
	Rules         string                `json:"-"`
	Loop          int                   `json:"-"`
	ActivityType  int                   `json:"-"`
	TmpActivity   *entity.GoodsActivity `json:"-"`
}

type Details struct {
	Id             int   `orm:"id,primary"       json:"id"`               //
	MemberId       uint  `orm:"member_id"        json:"-"`                // 对应会员ID
	GoodsId        int   `orm:"goods_id"         json:"goods_id"`         // 对应商品ID
	GoodsOptionId  int   `orm:"goods_option_id"  json:"goods_option_id"`  // 对应商品规格选项
	Total          int   `orm:"total"            json:"total"`            // 数量
	MarketPrice    int64 `orm:"market_price"     json:"market_price"`     // 最后一次修改时的售价 单位分
	OldMarketPrice int64 `orm:"old_market_price" json:"old_market_price"` // 上次加入购物车时售价 单位分
	SellPrice      int64 `orm:"sell_price"       json:"price"`            // 最后一次修改时 销售价 单位 分
	OldSellPrice   int64 `orm:"old_sell_price"   json:"old_sell_price"`   // 上次加入购物车 销售价 单位 分
	IsSelected     int   `orm:"is_selected"      json:"is_selected"`      // 打开购物车的时候是否选中
	IsDisable      int   `json:"is_disable"`                              // 是否禁用，商品下架，或者规格库存为0时
	ActivityId     int   `json:"activity_id"`

	Checked        bool   `json:"checked"`
	GoodsCover     string `json:"goods_cover"`
	GoodsName      string `json:"goods_name"`
	GoodsStatus    int    `json:"goods_status"`
	OptionName     string `json:"option_name"`
	ShowPrice      string `json:"show_price"`
	DiscountPrice  int64  `json:"discount_price"`  // 该商品总优惠金额
	Paid           int64  `json:"paid"`            // 预估全部到手价
	PracticalPrice int64  `json:"practical_price"` // 预估每件到手价

	BuyMax  int64 `json:"buy_max"`  // 最大可购买数量
	BuyMin  int64 `json:"buy_min"`  // 最小购买数量
	BuyStep int64 `json:"buy_step"` // 购买步数，比如按两个两个买
}
